/**
 * @file RemoveLayerCommand.hpp
 *
 * @date 30/12/2011
 * @author Tales 
 *
 */

#ifndef _MODEL_REMOVELAYERCOMMAND_HPP_
#define _MODEL_REMOVELAYERCOMMAND_HPP_
#include "Command.hpp"

namespace yep
{

/**
 * @brief Comando para remover camada
 */
class RemoveLayerCommand: public Command
{
public:
	/**
	 * @brief Remove uma camada
	 * @param pos posição a partir da qual remove-se a camada. Se for menor que 0 sempre removerá as últimas camadas
	 * @param qtd a quantidade de camadas a serem removidas
	 */
	RemoveLayerCommand(int pos = -1, size_t qtd = 1);

	void execute(PictureState &state);
private:
	int position;
	size_t quantity;
};

} /* namespace yep */
#endif /* _MODEL_REMOVELAYERCOMMAND_HPP_ */
